1. Statement of the Technical Field
The present invention relates to the field of Web services, and more particularly to binding Web services through the operation of a grid mechanism.
2. Description of the Related Art
Web services have become the rage of distributed computing and are viewed as the foundation for developing a truly universal model for supporting the rapid development of component-based applications over the World Wide Web. Web services are known in the art to include a stack of emerging standards that describe a service-oriented, component-based application architecture. Specifically, Web services are loosely coupled, reusable software components that semantically encapsulate discrete functionality and are distributed and programmatically accessible over standard Internet protocols.
Conceptually, Web services represent a model in which discrete tasks within e-business processes are distributed widely throughout a value net. Notably, many industry experts consider the service-oriented Web services initiative to be the next evolutionary phase of the Internet. Typically, Web services can be defined by an interface such as the Web services definition language (WSDL), and can be implemented according to the interface, though the implementation details matter little so long as the implementation conforms to the Web services interface. Once a Web service has been implemented according to a corresponding interface, the implementation can be registered with a Web services registry, such as Universal Description, Discover and Integration (UDDI), as is well known in the art. Upon registration, the Web service can be accessed by a service requestor through the use of any supporting messaging protocol, including for example, the simple object access protocol (SOAP).
Electronic utilities (eUtilities) extend the concept of Web services beyond the basic distributed computing infrastructure of WSDL, SOAP and UDDI. eUtilities refer to the offering of metered, continuous, on-demand access to computing services across a distributed computing infrastructure. Unlike the computing services of the past, eUtilities can be closely intertwined with underlying infrastructure inasmuch as different users of eUtilities can receive varying levels of responsiveness from a selected eUtility according to the terms and conditions of a negotiated service level agreement (SLA). In particular, an SLA for an eUtility can describe guaranteed performance in terms of functionality, availability, resources and availability. Thus, quality of service (QoS) remains of paramount concern in the deployment and distribution of eUtilities.
In a service-oriented application environment supporting both Web services and eUtilities, locating reliable services and integrating those reliable services dynamically in realtime to meet the objectives of an application has proven problematic. While registries, directories and discovery protocols provide a base structure for implementing service detection and service-to-service interconnection logic, present configurations neglect QoS and SLA issues in binding any one located service to a service requestor. Notably, the physiology of a grid mechanism through the Open Grid Services Architecture (OGSA) provides protocols both in discovery and also in binding of Web services and eUtilities across distributed systems.
Still, known grid mechanisms lack technology able to support the automatic, dynamic collaboration and integration of Web services and eUtilities across heterogeneous business application systems. Rather, as described in Ian Foster, Carl Kesselman, Jeffrey M. Nick and Steven Tuecke, The Physiology of the Grid, <http://www.globus.org/research/papers/ogsa.pdf> (Feb. 17, 2002), at best the collaboration and integration of Web services and eUtilities can be viewed as a manual process.
Notably, at present there exists limited sharing of comparable, albeit not necessarily identical Web services and eUtilities provided by and consumed by different providers and consumers, respectively. Moreover, service-oriented applications which rely upon the performance of a Web service or eUtility can become exposed to unwanted risk where an unreliable Web service or eUtility cannot be controlled and managed in real time—even where the performance has been specified according to the terms of an SLA.